home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / text / resources / LocaleData.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  4.2 KB  |  95 lines

  1. package java.text.resources;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5. import java.util.Locale;
  6. import java.util.ResourceBundle;
  7.  
  8. public class LocaleData extends ResourceBundle {
  9.    private Hashtable localeKeys;
  10.    private static String[] keys = new String[]{"LocaleString", "LocaleID", "ShortLanguage", "ShortCountry", "Languages", "Countries", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthNames", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "MonthAbbreviations", "DayNames", "DayNames", "DayNames", "DayNames", "DayNames", "DayNames", "DayNames", "DayAbbreviations", "DayAbbreviations", "DayAbbreviations", "DayAbbreviations", "DayAbbreviations", "DayAbbreviations", "DayAbbreviations", "AmPmMarkers", "AmPmMarkers", "Eras", "NumberPatterns", "NumberPatterns", "NumberPatterns", "NumberElements", "NumberElements", "NumberElements", "NumberElements", "NumberElements", "NumberElements", "NumberElements", "NumberElements", "CurrencyElements", "CurrencyElements", "CurrencyElements", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimePatterns", "DateTimeElements", "DateTimeElements", "CollationElements"};
  11.    private static Locale[] localeList = new Locale[]{new Locale("ar", "", ""), new Locale("be", "", ""), new Locale("bg", "", ""), new Locale("ca", "", ""), new Locale("cs", "", ""), new Locale("da", "", ""), new Locale("de", "", ""), new Locale("de", "AT", ""), new Locale("de", "CH", ""), new Locale("el", "", ""), new Locale("en", "CA", ""), new Locale("en", "GB", ""), new Locale("en", "IE", ""), new Locale("en", "US", ""), new Locale("es", "", ""), new Locale("et", "", ""), new Locale("fi", "", ""), new Locale("fr", "", ""), new Locale("fr", "BE", ""), new Locale("fr", "CA", ""), new Locale("fr", "CH", ""), new Locale("hr", "", ""), new Locale("hu", "", ""), new Locale("is", "", ""), new Locale("it", "", ""), new Locale("it", "CH", ""), new Locale("iw", "", ""), new Locale("ja", "", ""), new Locale("ko", "", ""), new Locale("lt", "", ""), new Locale("lv", "", ""), new Locale("mk", "", ""), new Locale("nl", "", ""), new Locale("nl", "BE", ""), new Locale("no", "", ""), new Locale("no", "NO", "NY"), new Locale("pl", "", ""), new Locale("pt", "", ""), new Locale("ro", "", ""), new Locale("ru", "", ""), new Locale("sh", "", ""), new Locale("sk", "", ""), new Locale("sl", "", ""), new Locale("sq", "", ""), new Locale("sr", "", ""), new Locale("sv", "", ""), new Locale("tr", "", ""), new Locale("uk", "", ""), new Locale("zh", "", ""), new Locale("zh", "TW", "")};
  12.  
  13.    public Object handleGetObject(String var1) {
  14.       return this.localeKeys.get(var1);
  15.    }
  16.  
  17.    public static Locale[] getAvailableLocales(String var0) {
  18.       return localeList;
  19.    }
  20.  
  21.    public Enumeration getKeys() {
  22.       return this.localeKeys.keys();
  23.    }
  24.  
  25.    protected void init(String[] var1) {
  26.       if (var1.length != keys.length) {
  27.          System.out.println("Data length (" + var1.length + ") != key length (" + keys.length + ")");
  28.          throw new ArrayIndexOutOfBoundsException();
  29.       } else {
  30.          this.localeKeys = new Hashtable();
  31.          int var2 = 0;
  32.  
  33.          int var3;
  34.          for(var3 = 1; var3 < var1.length; ++var3) {
  35.             if (!keys[var3].equals(keys[var2])) {
  36.                this.storeStrings(var1, var2, var3 - 1);
  37.                var2 = var3;
  38.             }
  39.          }
  40.  
  41.          this.storeStrings(var1, var2, var3 - 1);
  42.       }
  43.    }
  44.  
  45.    private static String[] split(String var0, char var1) {
  46.       String[] var2 = new String[200];
  47.       int var3 = 0;
  48.  
  49.       int var4;
  50.       for(var4 = 0; var3 < var0.length(); ++var4) {
  51.          int var5 = var0.indexOf(var1, var3);
  52.          if (var5 == -1) {
  53.             var5 = var0.length();
  54.          }
  55.  
  56.          var2[var4] = var0.substring(var3, var5);
  57.          var3 = var5 + 1;
  58.       }
  59.  
  60.       String[] var6 = new String[var4];
  61.       System.arraycopy(var2, 0, var6, 0, var4);
  62.       return var6;
  63.    }
  64.  
  65.    private void storeStrings(String[] var1, int var2, int var3) {
  66.       if (!keys[var2].equals("Eras") && !keys[var2].equals("Languages") && !keys[var2].equals("Countries")) {
  67.          if (var2 == var3) {
  68.             this.localeKeys.put(keys[var2], var1[var2]);
  69.          } else {
  70.             String[] var8 = new String[var3 - var2 + 1];
  71.             System.arraycopy(var1, var2, var8, 0, var3 - var2 + 1);
  72.             this.localeKeys.put(keys[var2], var8);
  73.          }
  74.       } else {
  75.          String[] var4 = split(var1[var2], ';');
  76.  
  77.          for(int var5 = 0; var5 < var4.length; ++var5) {
  78.             var4[var5] = var4[var5].trim();
  79.          }
  80.  
  81.          if (keys[var2].equals("Eras")) {
  82.             this.localeKeys.put(keys[var2], var4);
  83.          } else {
  84.             String[][] var6 = new String[var4.length][2];
  85.  
  86.             for(int var7 = 0; var7 < var4.length; ++var7) {
  87.                var6[var7] = split(var4[var7], '_');
  88.             }
  89.  
  90.             this.localeKeys.put(keys[var2], var6);
  91.          }
  92.       }
  93.    }
  94. }
  95.